package main

import  (
	"fmt"
	"strconv"
)

func emptyLine(){
	fmt.Println()
}

func main(){
	// fmt.Println("变量命名----------------")
	// emptyLine()
	// // 默认0
	// var p1 int 
	// // 默认初始值
	// var p2 int= 6
	// // 类型推断
	// var p3=0 
	// // =省略var
	// p4 :=6 
	// // 定义多个
	// var n1,n2 byte
	// fmt.Println("var p1 int =>",p1)
	// fmt.Println("var p2 int= 6",p2)
	// fmt.Println("var p3=0",p3,)
	// fmt.Println("p4 :=6 ",p4,)
	// fmt.Println("var n1,n2 byte",n1,n2)
	// emptyLine()
	// fmt.Println("变量命名-------------------end")

	// // go的数据类型
	// //  基础类型 和 派生类型

	// fmt.Println("go的数据类型-------------------end")

	// // 整数带符号 byte使用单引号 ！！！
	// var q1 byte ='A'
	// fmt.Println("A的ASCII码为",q1) // 输出ASCII码
	// fmt.Printf("A的值%c",q1)
	// emptyLine()

	// // \b 退格
	// fmt.Println("aa\bbb") // abb
	

	// // \n 回车
	// fmt.Println("aa\nbb") 
	// /*
	// aa
	// bb
	// */

	// // \r后的字符光标在前面
	// fmt.Println("aa\rbb")
	// // bb

	// // \t后的字符光标在前面
	// fmt.Println("aaaaaaa\tbbbb")
	// fmt.Println("a\tbbbb")
	// // aaaabb

	//  flag :=true
	// fmt.Println(flag)

	// // string字符串不可变

	// s1 := "测试"
	// s1="测试2"
	// fmt.Printf("s1的数据类型为%T\n",s1)
	// fmt.Println("s1的数据值为",s1)
	
    //  // 定义一个字符串
	//  var str string="a"
	//  str+="b"
	 
	//  // 很长的字符串换行
	//  var str1 string="aaaaaaaaaaaaaaaaaaaaaaaaa"+
	//  "bbbbbbbbbbbb"

	//   // 各种的字符串
	//  var str2 string=` a:say hello
	//  b：？
	//  hhh`


	//  fmt.Println(str)
	//  fmt.Println(str1)
	//  fmt.Println(str2)
	
	// var n1 int =2
	// var n2 float32= float32(n1)
	// fmt.Println(n2)

	// var n3 int64=0
	// var n4 int8=int8(n3)+128
	// fmt.Println(n4) // -127

	// var n5 int8=16
	// var n6 int16=int16(n5)+2
	// fmt.Println(n6)

	// var n1 int16=99
	// var n2 string=fmt.Sprintf("%d",n1)
	// var n3 float32=3.1415926
	// var n4 bool=true



	// fmt.Printf("n2的类型是%T,原始值为%#v\n",n2,n2)
	// fmt.Printf("n2的类型是%T,原始值为%#v\n",n3,n3)
	// fmt.Printf("n2的类型是%T,原始值为%#v\n",n4,n4)


	// var n001 int=99
	// var n002=strconv.FormatInt(int64(n001),10)
	// fmt.Println(n002)

	// var n003 float32=3.14
	// var n004 string=fmt.Sprintf("%f",n003)
	// fmt.Sprintln("n004", n004)
	// fmt.Printf("n004的类型是%T,原始值为%#v\n",n004,n004)

	var n005 int=18
	var n006 string=strconv.FormatInt(int64(n005),10)
	fmt.Printf("n006的类型是%T,原始值为%q\n",n006,n006)


}